/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.hl7.v3;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.eclipse.emf.common.util.Enumerator;

/**
 * <!-- begin-user-doc -->
 * A representation of the literals of the enumeration '<em><b>Primary Dentition</b></em>',
 * and utility methods for working with them.
 * <!-- end-user-doc -->
 * <!-- begin-model-doc -->
 * abstDomain: A19344 (C-0-T16537-A16538-A19346-A19344-cpt)
 * <!-- end-model-doc -->
 * @see org.hl7.v3.V3Package#getPrimaryDentition()
 * @model extendedMetaData="name='PrimaryDentition'"
 * @generated
 */
public enum PrimaryDentition implements Enumerator {
	/**
	 * The '<em><b>TIDA</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDA_VALUE
	 * @generated
	 * @ordered
	 */
	TIDA(0, "TIDA", "TIDA"),

	/**
	 * The '<em><b>TIDB</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDB_VALUE
	 * @generated
	 * @ordered
	 */
	TIDB(1, "TIDB", "TIDB"),

	/**
	 * The '<em><b>TIDC</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDC_VALUE
	 * @generated
	 * @ordered
	 */
	TIDC(2, "TIDC", "TIDC"),

	/**
	 * The '<em><b>TIDD</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDD_VALUE
	 * @generated
	 * @ordered
	 */
	TIDD(3, "TIDD", "TIDD"),

	/**
	 * The '<em><b>TIDE</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDE_VALUE
	 * @generated
	 * @ordered
	 */
	TIDE(4, "TIDE", "TIDE"),

	/**
	 * The '<em><b>TIDF</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDF_VALUE
	 * @generated
	 * @ordered
	 */
	TIDF(5, "TIDF", "TIDF"),

	/**
	 * The '<em><b>TIDG</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDG_VALUE
	 * @generated
	 * @ordered
	 */
	TIDG(6, "TIDG", "TIDG"),

	/**
	 * The '<em><b>TIDH</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDH_VALUE
	 * @generated
	 * @ordered
	 */
	TIDH(7, "TIDH", "TIDH"),

	/**
	 * The '<em><b>TIDI</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDI_VALUE
	 * @generated
	 * @ordered
	 */
	TIDI(8, "TIDI", "TIDI"),

	/**
	 * The '<em><b>TIDJ</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDJ_VALUE
	 * @generated
	 * @ordered
	 */
	TIDJ(9, "TIDJ", "TIDJ"),

	/**
	 * The '<em><b>TIDK</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDK_VALUE
	 * @generated
	 * @ordered
	 */
	TIDK(10, "TIDK", "TIDK"),

	/**
	 * The '<em><b>TIDL</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDL_VALUE
	 * @generated
	 * @ordered
	 */
	TIDL(11, "TIDL", "TIDL"),

	/**
	 * The '<em><b>TIDM</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDM_VALUE
	 * @generated
	 * @ordered
	 */
	TIDM(12, "TIDM", "TIDM"),

	/**
	 * The '<em><b>TIDN</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDN_VALUE
	 * @generated
	 * @ordered
	 */
	TIDN(13, "TIDN", "TIDN"),

	/**
	 * The '<em><b>TIDO</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDO_VALUE
	 * @generated
	 * @ordered
	 */
	TIDO(14, "TIDO", "TIDO"),

	/**
	 * The '<em><b>TIDP</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDP_VALUE
	 * @generated
	 * @ordered
	 */
	TIDP(15, "TIDP", "TIDP"),

	/**
	 * The '<em><b>TIDQ</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDQ_VALUE
	 * @generated
	 * @ordered
	 */
	TIDQ(16, "TIDQ", "TIDQ"),

	/**
	 * The '<em><b>TIDR</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDR_VALUE
	 * @generated
	 * @ordered
	 */
	TIDR(17, "TIDR", "TIDR"),

	/**
	 * The '<em><b>TIDS</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDS_VALUE
	 * @generated
	 * @ordered
	 */
	TIDS(18, "TIDS", "TIDS"),

	/**
	 * The '<em><b>TIDT</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TIDT_VALUE
	 * @generated
	 * @ordered
	 */
	TIDT(19, "TIDT", "TIDT");

	/**
	 * The '<em><b>TIDA</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDA</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDA
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDA_VALUE = 0;

	/**
	 * The '<em><b>TIDB</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDB</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDB
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDB_VALUE = 1;

	/**
	 * The '<em><b>TIDC</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDC</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDC
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDC_VALUE = 2;

	/**
	 * The '<em><b>TIDD</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDD</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDD
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDD_VALUE = 3;

	/**
	 * The '<em><b>TIDE</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDE</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDE
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDE_VALUE = 4;

	/**
	 * The '<em><b>TIDF</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDF</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDF
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDF_VALUE = 5;

	/**
	 * The '<em><b>TIDG</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDG</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDG
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDG_VALUE = 6;

	/**
	 * The '<em><b>TIDH</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDH</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDH
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDH_VALUE = 7;

	/**
	 * The '<em><b>TIDI</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDI</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDI
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDI_VALUE = 8;

	/**
	 * The '<em><b>TIDJ</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDJ</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDJ
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDJ_VALUE = 9;

	/**
	 * The '<em><b>TIDK</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDK</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDK
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDK_VALUE = 10;

	/**
	 * The '<em><b>TIDL</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDL</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDL
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDL_VALUE = 11;

	/**
	 * The '<em><b>TIDM</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDM</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDM
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDM_VALUE = 12;

	/**
	 * The '<em><b>TIDN</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDN</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDN
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDN_VALUE = 13;

	/**
	 * The '<em><b>TIDO</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDO</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDO
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDO_VALUE = 14;

	/**
	 * The '<em><b>TIDP</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDP</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDP
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDP_VALUE = 15;

	/**
	 * The '<em><b>TIDQ</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDQ</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDQ
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDQ_VALUE = 16;

	/**
	 * The '<em><b>TIDR</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDR</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDR
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDR_VALUE = 17;

	/**
	 * The '<em><b>TIDS</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDS</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDS
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDS_VALUE = 18;

	/**
	 * The '<em><b>TIDT</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TIDT</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TIDT
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TIDT_VALUE = 19;

	/**
	 * An array of all the '<em><b>Primary Dentition</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static final PrimaryDentition[] VALUES_ARRAY =
		new PrimaryDentition[] {
			TIDA,
			TIDB,
			TIDC,
			TIDD,
			TIDE,
			TIDF,
			TIDG,
			TIDH,
			TIDI,
			TIDJ,
			TIDK,
			TIDL,
			TIDM,
			TIDN,
			TIDO,
			TIDP,
			TIDQ,
			TIDR,
			TIDS,
			TIDT,
		};

	/**
	 * A public read-only list of all the '<em><b>Primary Dentition</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static final List<PrimaryDentition> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));

	/**
	 * Returns the '<em><b>Primary Dentition</b></em>' literal with the specified literal value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static PrimaryDentition get(String literal) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			PrimaryDentition result = VALUES_ARRAY[i];
			if (result.toString().equals(literal)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>Primary Dentition</b></em>' literal with the specified name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static PrimaryDentition getByName(String name) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			PrimaryDentition result = VALUES_ARRAY[i];
			if (result.getName().equals(name)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>Primary Dentition</b></em>' literal with the specified integer value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static PrimaryDentition get(int value) {
		switch (value) {
			case TIDA_VALUE: return TIDA;
			case TIDB_VALUE: return TIDB;
			case TIDC_VALUE: return TIDC;
			case TIDD_VALUE: return TIDD;
			case TIDE_VALUE: return TIDE;
			case TIDF_VALUE: return TIDF;
			case TIDG_VALUE: return TIDG;
			case TIDH_VALUE: return TIDH;
			case TIDI_VALUE: return TIDI;
			case TIDJ_VALUE: return TIDJ;
			case TIDK_VALUE: return TIDK;
			case TIDL_VALUE: return TIDL;
			case TIDM_VALUE: return TIDM;
			case TIDN_VALUE: return TIDN;
			case TIDO_VALUE: return TIDO;
			case TIDP_VALUE: return TIDP;
			case TIDQ_VALUE: return TIDQ;
			case TIDR_VALUE: return TIDR;
			case TIDS_VALUE: return TIDS;
			case TIDT_VALUE: return TIDT;
		}
		return null;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final int value;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String name;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String literal;

	/**
	 * Only this class can construct instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private PrimaryDentition(int value, String name, String literal) {
		this.value = value;
		this.name = name;
		this.literal = literal;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getValue() {
	  return value;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getName() {
	  return name;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getLiteral() {
	  return literal;
	}

	/**
	 * Returns the literal value of the enumerator, which is its string representation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String toString() {
		return literal;
	}
	
} //PrimaryDentition
